home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 September / CHIP Eylül 1998.iso / Slackwar / docs / Portuguese-HOWTO < prev    next >
Text File  |  1996-03-13  |  33KB  |  1,007 lines

  1.   Linux Portuguese-HOWTO
  2.   Joπo Carlos Rodrigues Pereira, jcrp@caravela.di.fc.ul.pt
  3.   v1.0, 14 September 1995
  4.  
  5.   Este documento pretende ser um guia de referΩncia de configuraτπo do
  6.   Linux e seus programas para utilizaτπo com o Teclado e Pßgina de
  7.   C≤digo Portugueses.
  8.  
  9.   1.  Introduτπo
  10.  
  11.   └ semelhanτa de outras linguas faladas na europa, a lingua portuguesa
  12.   reveste-se de algumas caracterφsticas especiais, tais como a
  13.   utilizaτπo de caracteres acentuados, que tornam o seu suporte dificil,
  14.   pouco intuitivo ou atΘ mesmo impossivel, por parte do software
  15.   utilizado nos nossos computadores.
  16.  
  17.   As dificuldades encontradas centram-se essencialmente em torno de dois
  18.   pontos fundamentais:
  19.  
  20.   1. A introduτπo de caracteres acentuados atravΘs do teclado, como seja
  21.      a escrita de jo~ao em vez da sua forma correcta.
  22.  
  23.   2. A exibiτπo dos mesmos no ecran do computador, o suporte resume-se
  24.      normalmente α correcta localizaτπo das teclas, nada mais.
  25.  
  26.   O presente HOWTO pretende, pois, ajudar o utilizador do sistema Linux
  27.   a configurar o mesmo, de modo a que dentro do possivel(1), tanto o
  28.   sistema operativo, como os programas nele utilizados, venham a
  29.   suportar o teclado portuguΩs.
  30.  
  31.   (1) uma vez que existem alguns programas que nπo foram desenhados com
  32.   vista a suportar os caracteres acentuados.
  33.  
  34.   2.  A package KBD
  35.  
  36.   O Linux foi desenhado internamente de modo a facilitar a sua facil
  37.   configuraτπo e extenτπo em tempo de execuτπo, nπo constituindo o
  38.   tratamento do teclado e fontes de caracteres excepτπo.
  39.  
  40.   A configuraτπo do teclado Θ conseguida atravΘs da possibilidade de
  41.   redefiniτπo das tabelas de traduτπo de caracteres e do carregamento de
  42.   fontes de caracteres de ecran.
  43.  
  44.   Para tal foi desenvolvida a package KBD, que disponibiliza todo um
  45.   conjunto de comandos para o efeito.
  46.  
  47.   2.1.  Comandos da package KBD
  48.  
  49.   Segue-se a descriτπo de alguns dos comandos disponibilizados pela
  50.   package KBD.
  51.  
  52.   2.1.1.  Loadkeys
  53.  
  54.   O comando loadkeys permite especificar a equivalencia entre a tecla
  55.   que se pressiona no teclado e o c≤digo (keycode) que os programas
  56.   recebem.  Isto Θ conseguido atraves do carregamento de um mapa de
  57.   teclado.
  58.  
  59.   Por exemplo o comando
  60.  
  61.          loadkeys /usr/lib/kbd/keytables/portuguese.map
  62.  
  63.   carrega o mapa do teclado portugues.
  64.  
  65.   O que e um mapa de teclado ?  Bem, um mapa de teclado Θ um ficheiro de
  66.   texto onde se colocam as correspondencias entre o scancode de uma
  67.   tecla e o seu c≤digo de tecla, ou keycode.
  68.  
  69.   Por exemplo :
  70.  
  71.        // atribuiτπo da tecla '-' do teclado numerico a' tecla com co'digo 74
  72.  
  73.          keycode  74 = KP_Subtract
  74.  
  75.        // atribuiτπo da tecla '4' do teclado numerico a tecla com c≤digo 75
  76.  
  77.          keycode  75 = KP_4
  78.  
  79.        // etc...
  80.  
  81.          keycode  76 = KP_5            // tecla 5
  82.          keycode  77 = KP_6            // tecla 6
  83.          keycode  78 = KP_Add          // soma
  84.          keycode  79 = KP_1            // tecla 1
  85.          keycode  80 = KP_2            // tecla 2
  86.  
  87.   2.1.2.  Mapscr
  88.  
  89.   Alem do comando anterior que opera no sentido teclado <-> aplicaτπo,
  90.   temos o comando mapscrn que opera no sentido aplicaτπo <-> ecran.  Ou
  91.   seja, uma aplicaτπo envia o caracter com o c≤digo 123 para o ecran, e
  92.   o caracter com o c≤digo 200 serß mostrado.
  93.  
  94.   isto, Θ claro, se existir no ficheiro de traduτπo de caracteres a
  95.   seguinte linha:
  96.  
  97.          123 200
  98.  
  99.   Este assunto serß desenvolvido mais a frente.
  100.  
  101.   2.1.3.  Setfont
  102.  
  103.   O comando setfont permite o carregamento de uma fonte de caracteres de
  104.   ecran, possibilitando a alteraτπo das fontes utilizadas em modo de
  105.   texto.
  106.  
  107.   Voltarei a este assunto mais tarde.
  108.  
  109.   3.  Configuraτπo do sistema operativo Linux
  110.  
  111.   Feitas as primeiras apresentaτ⌡es vamos agora ver como se procede ß
  112.   configuraτπo do Linux, tanto em modo de terminal como no Sistema de
  113.   Janelas X.
  114.  
  115.   3.1.  Modo texto
  116.  
  117.   Primeiro de tudo hß que dizer ao Linux qual a localizaτπo das vßrias
  118.   teclas segundo a disposiτπo do teclado portuguΩs.  Tal Θ conseguido
  119.   atravΘs da utilizaτπo do comando loadkeys.
  120.  
  121.   O comando a executar Θ:
  122.  
  123.          loadkeys portugal.map
  124.  
  125.   Experimente algumas teclas como ",.|!"#$%&/()=?", etc...
  126.  
  127.   OK, agora jß temos as teclas no sitio certo (incluindo !#$%&/()=?'{}
  128.   etc) mas, e os c-cedilhados, a com til e outros caracteres acentuados
  129.   ?
  130.  
  131.   Bem, felizmente para n≤s, o ficheiro de mapa de teclado permite tambΘm
  132.   especificar teclas especiais chamadas "deadkeys".  Deadkeys sπo
  133.   teclas, que, quando presionadas nπo tem como resultado o aparecimento
  134.   de um caracter no ecran, limitando-se a alterar o comportamento da
  135.   tecla pressionada a seguir.
  136.  
  137.   Exemplo:
  138.  
  139.   O equivalente a (em MSDOS) pressionar a tecla til seguida da tecla a,
  140.   o que provoca o aparecimento de um a-com-til (π) !!!
  141.  
  142.   Eis a linha do ficheiro "portugal.map" responsßvel pela definiτπo da
  143.   tecla c-cedilhado:
  144.  
  145.        // atribuiτπo da tecla <tt/c-cedilhado/ ß tecla com c≤digo 39
  146.  
  147.        keycode  39 = +ccedilla        Ccedilla
  148.  
  149.   Antes de prosseguir peco-lhe que introduza o seguinte comando:
  150.  
  151.        echo -n -e "\\033(K"
  152.  
  153.   Este comando limita-se a pedir ao terminal que entre em modo de "8
  154.   bits", modo este necessßrio a exibiτπo de caracteres especiais tais
  155.   como o c-cedilhado, a-com-til etc.
  156.  
  157.   Experimente pressionar a tecla c-cedilhado. Em principio deverß ter
  158.   aparecido um c-cedilhado ou um caracter estranho.  No segundo caso,
  159.   tente nπo se preocupar com isso, este assunto serß tratado mais ß
  160.   frente.  Experimente outras teclas com acentos.  Sim, Θ possivel que
  161.   tenham aparecido alguns caracteres estranhos ... deixemos isso de
  162.   lado...
  163.  
  164.   OK, agora vamos ... aos caracteres estranhos.  Provavelmente alguns
  165.   dos caracteres que apareceram no passo anterior nπo eram exactamente o
  166.   que estaria ß espera.
  167.  
  168.   O que acontece, Θ que, a fonte de caracteres corrente poderß nπo
  169.   possuir todos os caracteres de que necessitamos.  Vamos entao mudar a
  170.   fonte de caracteres activa, executando o comando:
  171.  
  172.        setfont latin1u-16
  173.  
  174.   E eis que aparecem os caracteres que todos nos esperavamos.
  175.  
  176.   Mas, e se alguns dos caracteres continuassem a nπo aparecer ?  Bem,
  177.   neste caso, teriamos de convencer o ecran a mostrar os caracteres
  178.   certos em cada caso.  Expliquemos, o que se passaria neste caso, era
  179.   que a fonte de caracteres nπo possuia a imagem certa de alguns dos
  180.   caracteres que desejavamos exibir (o que alias acontecia com a fonte
  181.   anterior).
  182.  
  183.   Neste caso poderiamos recorrer ao comando mapscrn.  Como foi descrito
  184.   atrßs, o referido comando permite especificar qual o caracter X a ser
  185.   exibido no ecran, quando um programa deseja exibir um caracter Y.
  186.   Desta forma, poderiamos fazer com que , ao escrever o caracter c-
  187.   cedilhado no ecran, fosse na realidade exibido um outro caracter cuja
  188.   imagem na nossa fonte de caracteres correspondesse a imagem de um c-
  189.   cedilhado.
  190.  
  191.   O comando a ser executado seria :
  192.  
  193.          mapscrn <nome do ficheiro de tabela de traduτπo>
  194.  
  195.   O ficheiro com a tabela de traduτπo teria no entanto de ser criado por
  196.   nos, segindo um processo moroso de tentativa e erro ate encontrar o
  197.   caracter cuja "imagem" nos pretendiamos.  Ou, de uma forma mais facil,
  198.   poderiamos usar o comando showfont.
  199.  
  200.   No entanto nas vers⌡es de software por mim testado, o uso deste ultimo
  201.   comando revelou-se desnecessßrio.
  202.  
  203.   3.2.  O Sistema de Janelas X (X-Window)
  204.  
  205.   O Sistema de Janelas X vem equipado com um utilitßrio destinado α
  206.   configuraτπo do teclado, chamado xmodmap.
  207.  
  208.   O comando xmodmap cumpre uma funτπo identica ao comando loadkeys, ou
  209.   seja, lΩ um ficheiro de mapa de teclado de X, expecificando as
  210.   equivalencias entre os scancodes e respectivos keycodes.
  211.  
  212.   Eis um excerto deste ficheiro:
  213.  
  214.          keycode 47 = Ccedilla
  215.          keycode 48 = masculine ordfeminine
  216.          keycode 51 = Dtilde Dcircumflex_accent
  217.  
  218.   De notar que, a configuraτπo do Sistema de Janelas X nπo interfere de
  219.   forma alguma com a configuraτπo do Modo de Texto.  De facto, Θ
  220.   possivel ter o seu X bem configurado, e no entatanto nπo ter realizado
  221.   qualquer tipo de configuraτπo ao Modo de Texto, e vice-versa.
  222.  
  223.   Nota : Na versπo XFree 3.1.x nπo Θ possivel a utilizaτπo de dead-keys
  224.   ao contrario da versπo XFree86 2.1.x.  Isto deve-se so facto de o "X
  225.   Consortium" ter chegado α conclusπo de que o sistema actual de
  226.   mapeamento de teclas nπo tratava de forma satisfat≤ria toda a imensa
  227.   variedade de linguas escritas nas vßrias partes do mundo.  Deste modo,
  228.   decidiu-se que o "peso" relativo α gestπo do teclado fosse transferido
  229.   para as aplicaτ⌡es X.  Desta forma o suporte ou nπo de dead-keys numa
  230.   aplicaτπo depende apenas dela, podendo assumir vßrios aspectos :
  231.  
  232.   ╖  A aplicaτπo nπo implementa a funτπo desejada
  233.  
  234.   ╖  A opτπo correcta nπo esta ligada no seu ficheiro de configuraτπo
  235.  
  236.   ╖  A aplicaτπo nπo foi compilada com o referido suporte
  237.  
  238.   ╖  Outras ...
  239.  
  240.   3.3.  Os ficheiros de configuraτπo
  241.  
  242.   AtΘ aqui tudo bem, mas decerto que nπo teremos de executar todos estes
  243.   comandos no inicio de cada sessπo de trabalho, pois nπo ?
  244.  
  245.   A resposta Θ obviamente: Nπo !
  246.  
  247.   Para nos poupar este trabalho existem uma sΘrie de ficheiros de
  248.   configuraτπo onde deveremos colocar a descriτπo dos comandos a
  249.   executar.  Os ficheiro sπo :
  250.  
  251.   /etc/rc.d/rc.keymap - Ficheiro lido quando do boot do sistema
  252.   operativo, servindo para especificar os comandos de inicializaτπo das
  253.   vßrias consolas de modo texto.
  254.  
  255.   Segue-se a descriτπo das linhas que deveram ser incluidas neste (se
  256.   nπo tiverem sido incluidas pela instalaτπo base do sistema).
  257.  
  258.        -------- INICIO ---------
  259.        # Inicializacao das consolas
  260.        #
  261.        INITTY=/dev/tty[1-9]*
  262.  
  263.        # activacao do modo de mapeamento de 8-bits
  264.        #
  265.        for tty in $INITTY
  266.        do
  267.                echo -n -e "\\033(K" > $tty
  268.        done
  269.  
  270.        # carregamento da tabela de mapeamento de caracteres
  271.        #
  272.        loadkeys portugal.map
  273.  
  274.        # retirar o comentario do proximo comando se tiver de usar o mapscrn
  275.  
  276.        #
  277.        # mapscrn /usr/liv/kbd/ <qualquer coisa>
  278.  
  279.        ---------- FIM ---------
  280.  
  281.   /etc/rc.d/rc.font - Neste ficheiro deveram ser especificados os
  282.   comandos relativos ao carregamento das fontes de modo texto.
  283.  
  284.        -------- INICIO --------
  285.        #!/bin/sh
  286.        # especificacao da fonte a carregar
  287.        #
  288.        setfont /usr/lib/kbd/consolefonts/lat1u-16
  289.        ---------- FIM ---------
  290.  
  291.   Alem das alteraτ⌡es a executar nos ficheiros de configuraτπo atrßs
  292.   mencionados, terß tambΘm de copiar o ficheiro Janelas X fique
  293.   correctamente configurado.
  294.  
  295.   4.  Configuraτπo dos vßrios programas
  296.  
  297.   4.1.  bash
  298.  
  299.   Crie um ficheiro chamado .inputrc na sua directoria HOME contendo as
  300.   seguintes linhas :
  301.  
  302.        -------- INICIO --------
  303.        set meta-flag on
  304.        set convert-meta off
  305.        set output-meta on
  306.        ---------- FIM ---------
  307.  
  308.   Esta alteraτπo irß tambΘm afectar todos os programas que utilizem a
  309.   biblioteca readline da GNU.
  310.  
  311.   4.2.  csh / tcsh (versπo 6.04 ou superior)
  312.  
  313.   Inclua as seguintes linhas no ficheiro /etc/profile :
  314.  
  315.        export LANG=C
  316.        export LC_CTYPE=iso_8859_1
  317.  
  318.   ou inclua as seguintes linhas no ficheiro .login :
  319.  
  320.        setenv LANG=C
  321.        setenv LC_CTYPE=iso_8859_1
  322.  
  323.   4.3.  Joe
  324.  
  325.   Acrescente a seguinte linha ao ficheiro /etc/profile :
  326.  
  327.        alias joe='joe -asis'
  328.  
  329.   4.4.  less
  330.  
  331.   Acrescente a seguinte linha ao ficheiro /etc/profile :
  332.  
  333.        export LESSCHARSET=latin1
  334.  
  335.   4.5.  ls
  336.  
  337.   Acrescente a seguinte linha ao ficheiro /etc/profile :
  338.  
  339.        alias ls="ls -N"
  340.  
  341.   ou
  342.  
  343.        alias ls="ls -8"
  344.  
  345.   4.6.  mc
  346.  
  347.   No menu "Options" sub-menu "Configuration" ligue a opτπo "8 bit
  348.   clean".
  349.  
  350.   4.7.  nn
  351.  
  352.   Acrescente a seguinte linha ao ficheiro ~/.nn/init :
  353.  
  354.        set data-bits 8
  355.  
  356.   4.8.  nroff / groff
  357.  
  358.   Ao invocar o comando nroff ou groff acrescente a opτπo -Tlatin1 Por
  359.   exemplo :
  360.  
  361.        groff -Tlatin1 -mandoc $1 | less
  362.  
  363.   4.9.  emacs
  364.  
  365.   Coloque no seu  /.emacs as linhas :
  366.  
  367.          (standard-display-european t)
  368.          (require 'iso-syntax)
  369.  
  370.   4.10.  lemacs (lucid emacs)
  371.  
  372.   Coloque no seu  /.emacs as linhas :
  373.  
  374.          (load-file "/usr/lib/lemacs-19.27.1/lisp/x11/x-iso8859-1.el")
  375.          (load-file "/usr/lib/lemacs-19.27.1/lisp/x11/x-compose.el")
  376.  
  377.   4.11.  flex
  378.  
  379.   Especifique a opτπo -8 se o parser a gerar necessitar de ler dados de
  380.   8 bit.
  381.  
  382.   4.12.  FTP (File Transfer Protocol
  383.  
  384.   Cuidados a ter quando se enviam ficheiros atravΘs de FTP.  Como
  385.   sabemos, o modo de transferencia de ficheiros binarios Θ o binary,
  386.   sendo o modo ascii utilizado para textos.  No entanto, o modo de
  387.   tranfΩrencia ascii remove o oitavo bit de cada caracter transmitido, o
  388.   que terß como consequencia a perda de todos os caracteres acentuados.
  389.   Desta forma Θ aconselhado o envio de documentaτπo em modo binary de
  390.   forma a manter a integridade da mesma.
  391.  
  392.   4.13.  E-MAIL
  393.  
  394.   O mesmo(*) tipo de restriτ⌡es se aplica ao envio de documentos
  395.   contendo caracteres acentuados, atravΘs de E-MAIL.
  396.  
  397.   Para tal deverß utilizar um programa de mail, que suporte o formato
  398.   MIME (Multipurpose Internet Mail Extensions), formato este que permite
  399.   o envio de documentaτπo em modo 8 bits.  Exemplos de programas de
  400.   correio eletronico com suporte para MIME, sπo o Eudora e o Pine.
  401.  
  402.   (*) Embora isto nπo aconteτa en todos os sistemas op. em uso na
  403.   internet, bastarß que o correio enviado passe no seu trajecto por um
  404.   sistema que nπo suporte 8 bits de informaτπo para que o nosso
  405.   documento seja deturpado.
  406.  
  407.   5.  Ficheiros necessßrios
  408.  
  409.   5.1.  xmodmap ( ~/.xmodmap)
  410.  
  411.   --------------------------------------------------------------------------
  412.  
  413.   clear    shift
  414.   clear    lock
  415.   clear    control
  416.   clear    mod1
  417.   clear    mod2
  418.   clear    mod3
  419.   clear    mod4
  420.   clear    mod5
  421.   ! charset "latin-1"
  422.   keycode   9 = Escape Escape
  423.   keycode  10 = 1 exclam atilde
  424.   keycode  11 = 2 quotedbl at
  425.   keycode  12 = 3 numbersign otilde
  426.   keycode  13 = 4 dollar acircumflex
  427.   keycode  14 = 5 percent ocircumflex
  428.   keycode  15 = 6 ampersand ecircumflex
  429.   keycode  16 = 7 slash braceleft
  430.   keycode  17 = 8 parenleft bracketleft
  431.   keycode  18 = 9 parenright bracketright
  432.   keycode  19 = 0 equal braceright
  433.   keycode  20 = apostrophe question backslash
  434.   keycode  21 = braceleft braceright
  435.   keycode  22 = BackSpace BackSpace BackSpace
  436.   keycode  23 = Tab Tab
  437.   keycode  24 = q Q atilde
  438.   keycode  25 = w W otilde
  439.   keycode  26 = e E eacute
  440.   keycode  27 = r R ecircumflex
  441.   keycode  28 = t T
  442.   keycode  29 = y Y
  443.   keycode  30 = u U uacute
  444.   keycode  31 = i I iacute
  445.   keycode  32 = o O oacute
  446.   keycode  33 = p P otilde
  447.   keycode  34 = plus asterisk ocircumflex
  448.   ! keycode  35 = acute grave
  449.   keycode  35 = Dacute_accent Dgrave_accent acute grave
  450.   keycode  36 = Return
  451.   keycode  37 = Control_L
  452.   keycode  38 = a A aacute
  453.   keycode  39 = s S agrave
  454.   keycode  40 = d D atilde
  455.   keycode  41 = f F acircumflex
  456.   keycode  42 = g G
  457.   keycode  43 = h H
  458.   keycode  44 = j J
  459.   keycode  45 = k K
  460.   keycode  46 = l L
  461.   keycode  47 = ccedilla Ccedilla
  462.   keycode  48 = slash at
  463.   keycode  49 = backslash bar
  464.   keycode  50 = Shift_L
  465.   ! keycode  51 = asciitilde asciicircum
  466.   keycode  51 = Dtilde Dcircumflex_accent asciitilde asciicircum
  467.   keycode  52 = z Z
  468.   keycode  53 = x X
  469.   keycode  54 = c C
  470.   keycode  55 = v V
  471.   keycode  56 = b B
  472.   keycode  57 = n N
  473.   keycode  58 = m M
  474.   keycode  59 = comma semicolon
  475.   keycode  60 = period colon
  476.   keycode  61 = minus underscore
  477.   keycode  62 = Shift_R
  478.   keycode  63 = KP_Multiply
  479.   keycode  64 = Alt_L Meta_L
  480.   keycode  65 = space space
  481.   keycode  66 = Caps_Lock
  482.   keycode  67 = F1 F11
  483.   keycode  68 = F2 F12
  484.   keycode  69 = F3 F13
  485.   keycode  70 = F4 F14
  486.   keycode  71 = F5 F15
  487.   keycode  72 = F6 F16
  488.   keycode  73 = F7 F17
  489.   keycode  74 = F8 F18
  490.   keycode  75 = F9 F19
  491.   keycode  76 = F10 F20
  492.   keycode  77 = Num_Lock
  493.   ! keycode  78 = Scroll_Lock
  494.   keycode  78 = Multi_key
  495.   keycode  79 = KP_7
  496.   keycode  80 = KP_8
  497.   keycode  81 = KP_9
  498.   keycode  82 = KP_Subtract
  499.   keycode  83 = KP_4
  500.   keycode  84 = KP_5
  501.   keycode  85 = KP_6
  502.   keycode  86 = KP_Add
  503.   keycode  87 = KP_1
  504.   keycode  88 = KP_2
  505.   keycode  89 = KP_3
  506.   keycode  90 = KP_0
  507.   ! keycode  92 = X386Sys_Req
  508.   keycode  94 = less greater bar
  509.   keycode  95 = F11 F11
  510.   keycode  96 = F12 F12
  511.   keycode 108 = KP_Enter
  512.   keycode 109 = Control_R
  513.   keycode 112 = KP_Divide
  514.   keycode 113 = Mode_switch
  515.   keycode 114 = Break
  516.   keycode 110 = Find
  517.   keycode  98 = Up
  518.   keycode  99 = Prior
  519.   keycode 100 = Left
  520.   keycode 102 = Right
  521.   keycode 104 = Down
  522.   keycode 105 = Next
  523.   keycode 106 = Insert
  524.   keycode  136 = KP_7
  525.   keycode  137 = KP_8
  526.   keycode  138 = KP_9
  527.   keycode  139 = KP_4
  528.   keycode  140 = KP_5
  529.   keycode  141 = KP_6
  530.   keycode  142 = KP_1
  531.   keycode  143 = KP_2
  532.   keycode  144 = KP_3
  533.   keycode  145 = KP_0
  534.   keycode  146 = KP_Decimal
  535.   keycode  147 = Home
  536.   keycode  148 = Up
  537.   keycode  149 = Prior
  538.   keycode  150 = Left
  539.   keycode  151 = Begin
  540.   keycode  152 = Right
  541.   keycode  153 = End
  542.   keycode  154 = Down
  543.   keycode  155 = Next
  544.   keycode  156 = Insert
  545.   keycode  157 = Delete
  546.   ! add Mod1 = Alt_L
  547.   ! add Mod2 = Mode_switch
  548.   add     shift   = Shift_L Shift_R
  549.   add     lock    = Caps_Lock
  550.   add     control = Control_L Control_R
  551.   add     mod1    = Alt_L
  552.   add     mod2 = Mode_switch
  553.   -----------------------------------------------------------------------------
  554.  
  555.   5.2.  port.map
  556.  
  557.   ------------------------------------------------------------------------------
  558.   charset "latin-1"
  559.   keycode   0 =
  560.   keycode   1 = Escape           Escape
  561.           alt     keycode   1 = Meta_Escape
  562.   keycode   2 = one              exclam
  563.           alt     keycode   2 = Meta_one
  564.   keycode   3 = two              quotedbl               at
  565.           control keycode   3 = nul
  566.           alt     keycode   3 = Meta_two
  567.   keycode   4 = three            numbersign
  568.           control keycode   4 = Escape
  569.           alt     keycode   4 = Meta_three
  570.   keycode   5 = four             dollar           dollar
  571.           control keycode   5 = Control_backslash
  572.           alt     keycode   5 = Meta_four
  573.   keycode   6 = five             percent
  574.           control keycode   6 = Control_bracketright
  575.           alt     keycode   6 = Meta_five
  576.   keycode   7 = six              ampersand
  577.           control keycode   7 = Control_asciicircum
  578.           alt     keycode   7 = Meta_six
  579.   keycode   8 = seven            slash        braceleft
  580.           control keycode   8 = Control_underscore
  581.           alt     keycode   8 = Meta_seven
  582.   keycode   9 = eight            parenleft         bracketleft
  583.           control keycode   9 = Delete
  584.           alt     keycode   9 = Meta_eight
  585.   keycode  10 = nine             parenright        bracketright
  586.           alt     keycode  10 = Meta_nine
  587.   keycode  11 = zero             equal       braceright
  588.           alt     keycode  11 = Meta_zero
  589.   keycode  12 = apostrophe      question       backslash
  590.           control keycode  12 = Control_underscore
  591.           alt     keycode  12 = Meta_minus
  592.   keycode  13 = braceleft            braceright
  593.           alt     keycode  13 = Meta_equal
  594.   keycode  14 = Delete           Delete          Delete
  595.           alt     keycode  14 = Meta_Delete
  596.   keycode  15 = Tab              Tab
  597.           alt     keycode  15 = Meta_Tab
  598.   keycode  16 = +q                Q
  599.           control keycode  16 = Control_q
  600.           alt     keycode  16 = Meta_q
  601.   keycode  17 = +w                W
  602.           control keycode  17 = Control_w
  603.           alt     keycode  17 = Meta_w
  604.   keycode  18 = +e                E
  605.           control keycode  18 = Control_e
  606.           alt     keycode  18 = Meta_e
  607.   keycode  19 = +r                R
  608.           control keycode  19 = Control_r
  609.           alt     keycode  19 = Meta_r
  610.   keycode  20 = +t                T
  611.           control keycode  20 = Control_t
  612.           alt     keycode  20 = Meta_t
  613.   keycode  21 = +y                Y
  614.           control keycode  21 = Control_y
  615.           alt     keycode  21 = Meta_y
  616.   keycode  22 = +u                U
  617.           control keycode  22 = Control_u
  618.           alt     keycode  22 = Meta_u
  619.   keycode  23 = +i                I
  620.           control keycode  23 = Tab
  621.           alt     keycode  23 = Meta_i
  622.   keycode  24 = +o                O
  623.           control keycode  24 = Control_o
  624.           alt     keycode  24 = Meta_o
  625.   keycode  25 = +p                P
  626.           control keycode  25 = Control_p
  627.           alt     keycode  25 = Meta_p
  628.   keycode  26 = plus      asterisk
  629.           control keycode  26 = Escape
  630.           alt     keycode  26 = Meta_bracketleft
  631.   keycode  27 = dead_acute      dead_grave
  632.           control keycode  27 = Control_bracketright
  633.           alt     keycode  27 = Meta_bracketright
  634.   keycode  28 = Return
  635.           alt     keycode  28 = Meta_Control_m
  636.   keycode  29 = Control
  637.   keycode  30 = +a                A
  638.           control keycode  30 = Control_a
  639.           alt     keycode  30 = Meta_a
  640.   keycode  31 = +s                S
  641.           control keycode  31 = Control_s
  642.           alt     keycode  31 = Meta_s
  643.   keycode  32 = +d                D
  644.           control keycode  32 = Control_d
  645.           alt     keycode  32 = Meta_d
  646.   keycode  33 = +f                F
  647.           control keycode  33 = Control_f
  648.           alt     keycode  33 = Meta_f
  649.   keycode  34 = +g                G
  650.           control keycode  34 = Control_g
  651.           alt     keycode  34 = Meta_g
  652.   keycode  35 = +h                H
  653.           control keycode  35 = BackSpace
  654.           alt     keycode  35 = Meta_h
  655.   keycode  36 = +j                J
  656.           control keycode  36 = Linefeed
  657.           alt     keycode  36 = Meta_j
  658.   keycode  37 = +k                K
  659.           control keycode  37 = Control_k
  660.           alt     keycode  37 = Meta_k
  661.   keycode  38 = +l                L
  662.           control keycode  38 = Control_l
  663.           alt     keycode  38 = Meta_l
  664.   keycode  39 = +ccedilla        Ccedilla
  665.           alt     keycode  39 = Meta_semicolon
  666.   keycode  40 = slash             at
  667.           control keycode  40 = Control_g
  668.           alt     keycode  40 = Meta_apostrophe
  669.   keycode  41 = backslash        bar
  670.           control keycode  41 = nul
  671.           alt     keycode  41 = Meta_grave
  672.   keycode  42 = Shift
  673.   keycode  43 = dead_tilde      dead_circumflex
  674.           control keycode  43 = Control_backslash
  675.           alt     keycode  43 = Meta_backslash
  676.   keycode  44 = +z                Z
  677.           control keycode  44 = Control_z
  678.           alt     keycode  44 = Meta_z
  679.   keycode  45 = +x                X
  680.           control keycode  45 = Control_x
  681.           alt     keycode  45 = Meta_x
  682.   keycode  46 = +c                C
  683.           control keycode  46 = Control_c
  684.           alt     keycode  46 = Meta_c
  685.   keycode  47 = +v                V
  686.           control keycode  47 = Control_v
  687.           alt     keycode  47 = Meta_v
  688.   keycode  48 = +b                B
  689.           control keycode  48 = Control_b
  690.           alt     keycode  48 = Meta_b
  691.   keycode  49 = +n                N
  692.           control keycode  49 = Control_n
  693.           alt     keycode  49 = Meta_n
  694.   keycode  50 = +m                M
  695.           control keycode  50 = Control_m
  696.           alt     keycode  50 = Meta_m
  697.   keycode  51 = comma            semicolon
  698.           alt     keycode  51 = Meta_comma
  699.   keycode  52 = period           colon
  700.           alt     keycode  52 = Meta_period
  701.   keycode  53 = minus            underscore
  702.           control keycode  53 = Delete
  703.           alt     keycode  53 = Meta_slash
  704.   keycode  54 = Shift
  705.   keycode  55 = KP_Multiply
  706.   keycode  56 = Alt
  707.   keycode  57 = space            space
  708.           control keycode  57 = nul
  709.           alt     keycode  57 = Meta_space
  710.   keycode  58 = Caps_Lock
  711.   keycode  59 = F1               F11              Console_13
  712.           control keycode  59 = F1
  713.           alt     keycode  59 = Console_1
  714.   keycode  60 = F2               F12              Console_14
  715.           control keycode  60 = F2
  716.           alt     keycode  60 = Console_2
  717.   keycode  61 = F3               F13              Console_15
  718.           control keycode  61 = F3
  719.           alt     keycode  61 = Console_3
  720.   keycode  62 = F4               F14              Console_16
  721.           control keycode  62 = F4
  722.           alt     keycode  62 = Console_4
  723.   keycode  63 = F5               F15              Console_17
  724.           control keycode  63 = F5
  725.           alt     keycode  63 = Console_5
  726.   keycode  64 = F6               F16              Console_18
  727.           control keycode  64 = F6
  728.           alt     keycode  64 = Console_6
  729.   keycode  65 = F7               F17              Console_19
  730.           control keycode  65 = F7
  731.           alt     keycode  65 = Console_7
  732.   keycode  66 = F8               F18              Console_20
  733.           control keycode  66 = F8
  734.           alt     keycode  66 = Console_8
  735.   keycode  67 = F9               F19              Console_21
  736.           control keycode  67 = F9
  737.           alt     keycode  67 = Console_9
  738.   keycode  68 = F10              F20              Console_22
  739.           control keycode  68 = F10
  740.           alt     keycode  68 = Console_10
  741.   keycode  69 = Num_Lock
  742.   keycode  70 = Scroll_Lock      Show_Memory      Show_Registers
  743.           control keycode  70 = Show_State
  744.           alt     keycode  70 = Scroll_Lock
  745.   keycode  71 = KP_7
  746.           alt     keycode  71 = Ascii_7
  747.   keycode  72 = KP_8
  748.           alt     keycode  72 = Ascii_8
  749.   keycode  73 = KP_9
  750.           alt     keycode  73 = Ascii_9
  751.   keycode  74 = KP_Subtract
  752.   keycode  75 = KP_4
  753.           alt     keycode  75 = Ascii_4
  754.   keycode  76 = KP_5
  755.           alt     keycode  76 = Ascii_5
  756.   keycode  77 = KP_6
  757.           alt     keycode  77 = Ascii_6
  758.   keycode  78 = KP_Add
  759.   keycode  79 = KP_1
  760.           alt     keycode  79 = Ascii_1
  761.   keycode  80 = KP_2
  762.           alt     keycode  80 = Ascii_2
  763.   keycode  81 = KP_3
  764.           alt     keycode  81 = Ascii_3
  765.   keycode  82 = KP_0
  766.           alt     keycode  82 = Ascii_0
  767.   keycode  83 = KP_Period
  768.           altgr   control keycode  83 = Boot
  769.           control alt     keycode  83 = Boot
  770.   keycode  84 = Last_Console
  771.   keycode  85 =
  772.   keycode  86 = less             greater          bar
  773.           alt     keycode  86 = Meta_less
  774.   keycode  87 = F11              F11              Console_23
  775.           control keycode  87 = F11
  776.           alt     keycode  87 = Console_11
  777.   keycode  88 = F12              F12              Console_24
  778.           control keycode  88 = F12
  779.           alt     keycode  88 = Console_12
  780.   keycode  89 =
  781.   keycode  90 =
  782.   keycode  91 =
  783.   keycode  92 =
  784.   keycode  93 =
  785.   keycode  94 =
  786.   keycode  95 =
  787.   keycode  96 = KP_Enter
  788.   keycode  97 = Control
  789.   keycode  98 = KP_Divide
  790.   keycode  99 = Control_backslash
  791.           control keycode  99 = Control_backslash
  792.           alt     keycode  99 = Control_backslash
  793.   keycode 100 = AltGr
  794.   keycode 101 = Break
  795.   keycode 102 = Find
  796.   keycode 103 = Up
  797.   keycode 104 = Prior
  798.           shift   keycode 104 = Scroll_Backward
  799.   keycode 105 = Left
  800.   keycode 106 = Right
  801.   keycode 107 = Select
  802.   keycode 108 = Down
  803.   keycode 109 = Next
  804.           shift   keycode 109 = Scroll_Forward
  805.   keycode 110 = Insert
  806.   keycode 111 = Remove
  807.           altgr   control keycode 111 = Boot
  808.           control alt     keycode 111 = Boot
  809.   keycode 112 =
  810.   keycode 113 =
  811.   keycode 114 =
  812.   keycode 115 =
  813.   keycode 116 =
  814.   keycode 117 =
  815.   keycode 118 =
  816.   keycode 119 =
  817.   keycode 120 =
  818.   keycode 121 =
  819.   keycode 122 =
  820.   keycode 123 =
  821.   keycode 124 =
  822.   keycode 125 =
  823.   keycode 126 =
  824.   keycode 127 =
  825.   string F1 = "\033[[A"
  826.   string F2 = "\033[[B"
  827.   string F3 = "\033[[C"
  828.   string F4 = "\033[[D"
  829.   string F5 = "\033[[E"
  830.   string F6 = "\033[17~"
  831.   string F7 = "\033[18~"
  832.   string F8 = "\033[19~"
  833.   string F9 = "\033[20~"
  834.   string F10 = "\033[21~"
  835.   string F11 = "\033[23~"
  836.   string F12 = "\033[24~"
  837.   string F13 = "\033[25~"
  838.   string F14 = "\033[26~"
  839.   string F15 = "\033[28~"
  840.   string F16 = "\033[29~"
  841.   string F17 = "\033[31~"
  842.   string F18 = "\033[32~"
  843.   string F19 = "\033[33~"
  844.   string F20 = "\033[34~"
  845.   string Find = "\033[1~"
  846.   string Insert = "\033[2~"
  847.   string Remove = "\033[3~"
  848.   string Select = "\033[4~"
  849.   string Prior = "\033[5~"
  850.   string Next = "\033[6~"
  851.   string F21 = ""
  852.   string F22 = ""
  853.   string F23 = ""
  854.   string F24 = ""
  855.   string F25 = ""
  856.   string F26 = ""
  857.   -----------------------------------------------------------------------------
  858.  
  859.   6.  Informaτ⌡es Adicionais
  860.  
  861.   6.1.  Packages Necessßrias
  862.  
  863.   KBD - Package de manipulaτπo de teclado e fontes de caracteres do
  864.   Linux.  Esta package vem normalmente com o Linux, mas para o caso de a
  865.   sua distribuiτπo nπo a possuir eis os endereτos onde a poderß obter.
  866.  
  867.   Mßquina : sunsite.unc.edu por ftp no directorio
  868.   /pub/Linux/system/Keyboards
  869.  
  870.   ou
  871.  
  872.   Mßquina : tsx-11.mit.edu por ftp no directorio
  873.   /pub/linux/sources/system
  874.  
  875.   o nome do ficheiro a obter serß : kbd-0.XX.tar.gz o simbolo XX
  876.   significa a versπo, por exemplo : kbd-0.90.tar.gz serß a versπo 0.90.
  877.   6.2.  Vers⌡es de software testadas
  878.  
  879.   Todas as informac⌡es presentes neste documento foram testadas nas
  880.   seguintes vers⌡es de software:
  881.  
  882.        Distribuiτπo Slackware 2.2.0
  883.        Linux 1.2.8
  884.        Emacs 19.27.1
  885.        Xfree 3.1.0
  886.        KBD 0.90 (kbd-0.90.tar.gz)
  887.  
  888.   6.3.  Termos Especiais:
  889.  
  890.      BOOT
  891.         Processo de arranque da mßquina.
  892.  
  893.      HOWTO
  894.         Possiveis traduτ⌡es seram : "Como Θ que ...?", "O que Θ ..."
  895.  
  896.      DirΘctoria HOME
  897.         a que se obtem executando "cd <ENTER>".
  898.  
  899.      Package ou pacote
  900.         Conjunto de programas, ficheiros de dados e/ou documentaτπo
  901.         reunidos segundo um fim e designaτπo comuns.
  902.  
  903.      Pßgina de C≤digo
  904.         Normalmente designada em MSDOS como sendo o bin≤mio FONTES -
  905.         POSI╟╒ES DE CARACTER, sendo por exemplo a Pßgina de c≤digo 850
  906.         caracterizada por um certo tipo de caracteres (diferentes dos
  907.         exibidos pela placa grßfica no momento do "boot") e suas
  908.         posiτ⌡es no teclado (o "c-cedilhado" no sitio certo bem como os
  909.         "<,-  etc").  No Linux o mesmo Θ obtido atravΘs dos comandos
  910.         setfont e mapscrn.
  911.  
  912.   6.4.  Bibliografia Aconselhada
  913.  
  914.   Para uma obter uma perspectiva mais geral do que aqui foi discutido,
  915.   refira-se aos seguintes documentos :
  916.  
  917.   ╖  A Pßgina Portuguesa (http://lila.dei.uc.pt/~cjrf/po/)
  918.  
  919.   ╖  A Portuguese.FAQ, JosΘ Bandeira
  920.      (http://caravela.di.fc.ul.pt/~jcrp/projectos/port/PortugueseFAQ.html)
  921.  
  922.   ╖  Keystroke-HOWTO, Zenon Fortuna (zenon@netcom.com)
  923.  
  924.   ╖  The Linux Danish/International HOWTO, Thomas Petersen
  925.      (petersen@risoe.dk)
  926.   ╖  German-HOWTO, Thomas Ploss (plossts@cip.mathematik.uni-stuttgart.de
  927.  
  928.   ╖  Linux Keyboard Setup Mini-Howto, Stephen Lee (sl14@cornell.edu)
  929.  
  930.   ╖  ISO 8859-1 National Character Set FAQ, Andries Brouwer (aeb@cwi.nl)
  931.  
  932.   A ultima versπo deste documento poderß sempre ser encontrada no URL:
  933.  
  934.   http://caravela.di.fc.ul.pt/~jcrp/projectos/port/PORTUGUESE-HOWTO.html
  935.  
  936.   6.5.  Futuro
  937.  
  938.   Futuras adiτ⌡es a este documento :
  939.  
  940.   ╖  Melhorar a configuraτπo do Emacs e LEmacs
  941.  
  942.   ╖  Adicionar informaτ⌡es sobre o sistema de janela X
  943.  
  944.   ╖  Adicionar a analise do pacote RECODE
  945.  
  946.   7.  Agradecimentos, Nota de Direitos de Autor e Responsabilidade
  947.  
  948.   Este HOWTO tem como autor Joπo Carlos Rodrigues Pereira e Θ baseado em
  949.   documentaτπo escrita por JosΘ Bandeira alΘm dos restantes HOWTO's do
  950.   Linux.  Sendo distribuφdo de acordo com as condiτ⌡es cumuns a todos os
  951.   restantes HOWTO's.
  952.  
  953.   7.1.  Termos e Condiτ⌡es:
  954.  
  955.   Os documentos HOWTO do Linux podem ser reproduzidos e distribuφdos em
  956.   todo ou em parte, segundo qualquer meio fφsico ou electr≤nico, desde
  957.   que, esta Nota de Direitos de Autor se mantenha intacta em todas as
  958.   c≤pias dos mesmos.  A distribuiτπo comercial Θ autorizada e
  959.   encorajada, no entanto, o autor gostaria de ser notificado de tais
  960.   ocorrΩncias.
  961.  
  962.   Todas as traduτ⌡es, trabalhos derivados, ou trabalhos agregando
  963.   qualquer dos documentos HOWTO do Linux deverß estar abrangido por esta
  964.   Nota de Direitos de Autor.
  965.  
  966.   Ou seja, nπo poderß ser imposta qualquer restriτπo adicional a
  967.   trabalhos efectuados a partir de um dos documentos HOWTO do Linux
  968.   nomeadamente no que diz respeito ß sua distribuiτπo.
  969.  
  970.   Excepτ⌡es a estas regras poderam ser obtidas. Para tal, deverß
  971.   contactar o coordenador dos documentos HOWTO do Linux no endereτo
  972.   abaixo indicado.
  973.  
  974.   Greg Hankins, greg.hankins@cc.gatech.edu
  975.  
  976.   7.2.  Nota de responsabilidade
  977.  
  978.   Embora se tenha tomado o maior cuidadeo, para que as informaτ⌡es
  979.   contidas neste documento sejam o mais correctas possivel, nem o Autor
  980.   nem qualquer dos seus colaboradores Θ responsßvel pela utilizaτπo das
  981.   informaτ⌡es contidas neste documento.:
  982.  
  983.   7.3.  Agradecimentos
  984.  
  985.   Deixo aqui os meus agradecimentos a todos os que de alguma forma me
  986.   ajudaram quer atravΘs das suas sugest⌡es quer atravΘs de contribuiτ⌡es
  987.   de outro tipo.
  988.  
  989.   Em special a:
  990.  
  991.      Carlos Ferreira
  992.         Pela luta que trava pela defesa da lingua portuguesa, bem
  993.         patente na sua Pßgina Portuguesa disponivel no URL:
  994.         http://lila.dei.uc.pt/~cjrf/po/
  995.  
  996.      Joπo C. Silva
  997.         Pelo apoio e incentivo e criticas (bem como por me deixar testar
  998.         os meus conhecimentos no SEU computador).
  999.  
  1000.      JosΘ Bandeira
  1001.         Autor dos ficheiros port.map e xmodmap.  Pelo seu apoio e por
  1002.         ter escrito alguma da documentaτπo mais elucidativa que eu jß li
  1003.         sobre o assunto.
  1004.  
  1005.   EOT.
  1006.  
  1007.